# 以下三行是汉化过程中测试用代码，学习者在自己的环境中应删除或注释掉
导入 sys
导入 os
sys.path.追加(os.路径.绝对路径(r'G:\grasspy_zwmodules\selenium\zwselenium\src'))

从 时间 导入 时间

from 自动访问 import 驱动
# from selenium.webdriver import Keys, ActionChains
从 自动访问.驱动 导入 〇按键, 〇动作链
# from selenium.webdriver.common.actions.action_builder import ActionBuilder
从 自动访问.驱动.公用.动作.动作构建器 导入 〇动作构建器
# from selenium.webdriver.common.by import By
从 自动访问.驱动.公用.依据 导入 〇依据
from 自动访问.驱动.edge.服务 import 〇服务

服务 = 〇服务(可执行文件路径="G:\grasspy_zwmodules\selenium\edgedriver_win64\msedgedriver.exe")
老司机 = 驱动.Edge(服务=服务)

def test_pauses(老司机):
    老司机.获取('https://selenium.dev/selenium/web/mouse_interaction.html')

    开始 = 时间()

    clickable = 老司机.查找元素(〇依据.ID, "clickable")
    〇动作链(老司机)\
        .移至元素(clickable)\
        .暂停(1)\
        .点击并按住()\
        .暂停(1)\
        .发送按键("abc")\
        .暂停(5)\
        .完成()

    时长 = 时间() - 开始
    断言 时长 > 7
    断言 时长 < 8


def test_releases_all(老司机):
    老司机.获取('https://selenium.dev/selenium/web/mouse_interaction.html')
    老司机.窗口最大化()
    clickable = 老司机.查找元素(〇依据.ID, "clickable")
    〇动作链(老司机)\
        .点击并按住(clickable)\
        .键按下(〇按键.SHIFT)\
        .键按下("a")\
        .暂停(3)\
        .键弹起(〇按键.SHIFT)\
        .发送按键("b")\
        .暂停(3)\
        .完成()

    〇动作构建器(老司机).清空动作()

    〇动作链(老司机).键按下('a').完成()

    断言 clickable.获取属性('value')[0] == "A"
    断言 clickable.获取特性('value')[1] == "b"
    断言 clickable.获取特性('value')[2] == "a"

# test_pauses(老司机)
test_releases_all(老司机)